rendernode: Add getters for box-shadow nodes
authorBenjamin Otte <otte@redhat.com>
Tue, 17 Jan 2017 23:05:25 +0000 (00:05 +0100)
committerBenjamin Otte <otte@redhat.com>
Wed, 18 Jan 2017 03:13:56 +0000 (04:13 +0100)
gsk/gskrendernodeimpl.c
gsk/gskrendernodeprivate.h

index aaa6a922bda1e0e8918c295016bc76f6e71e0568..7827ece4b4ebc6b648615159b0e7cf20ef8dd153 100644 (file)
@@ -1303,6 +1303,66 @@ gsk_inset_shadow_node_new (const GskRoundedRect *outline,
   return &self->render_node;
 }
 
+const GskRoundedRect *
+gsk_inset_shadow_node_peek_outline (GskRenderNode *node)
+{
+  GskInsetShadowNode *self = (GskInsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_INSET_SHADOW_NODE), NULL);
+
+  return &self->outline;
+}
+
+const GdkRGBA *
+gsk_inset_shadow_node_peek_color (GskRenderNode *node)
+{
+  GskInsetShadowNode *self = (GskInsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_INSET_SHADOW_NODE), NULL);
+
+  return &self->color;
+}
+
+float
+gsk_inset_shadow_node_get_dx (GskRenderNode *node)
+{
+  GskInsetShadowNode *self = (GskInsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_INSET_SHADOW_NODE), 0.0f);
+
+  return self->dx;
+}
+
+float
+gsk_inset_shadow_node_get_dy (GskRenderNode *node)
+{
+  GskInsetShadowNode *self = (GskInsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_INSET_SHADOW_NODE), 0.0f);
+
+  return self->dy;
+}
+
+float
+gsk_inset_shadow_node_get_spread (GskRenderNode *node)
+{
+  GskInsetShadowNode *self = (GskInsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_INSET_SHADOW_NODE), 0.0f);
+
+  return self->spread;
+}
+
+float
+gsk_inset_shadow_node_get_blur_radius (GskRenderNode *node)
+{
+  GskInsetShadowNode *self = (GskInsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_INSET_SHADOW_NODE), 0.0f);
+
+  return self->blur_radius;
+}
+
 /*** GSK_OUTSET_SHADOW_NODE ***/
 
 typedef struct _GskOutsetShadowNode GskOutsetShadowNode;
@@ -1554,6 +1614,66 @@ gsk_outset_shadow_node_new (const GskRoundedRect *outline,
   return &self->render_node;
 }
 
+const GskRoundedRect *
+gsk_outset_shadow_node_peek_outline (GskRenderNode *node)
+{
+  GskOutsetShadowNode *self = (GskOutsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_OUTSET_SHADOW_NODE), NULL);
+
+  return &self->outline;
+}
+
+const GdkRGBA *
+gsk_outset_shadow_node_peek_color (GskRenderNode *node)
+{
+  GskOutsetShadowNode *self = (GskOutsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_OUTSET_SHADOW_NODE), NULL);
+
+  return &self->color;
+}
+
+float
+gsk_outset_shadow_node_get_dx (GskRenderNode *node)
+{
+  GskOutsetShadowNode *self = (GskOutsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_OUTSET_SHADOW_NODE), 0.0f);
+
+  return self->dx;
+}
+
+float
+gsk_outset_shadow_node_get_dy (GskRenderNode *node)
+{
+  GskOutsetShadowNode *self = (GskOutsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_OUTSET_SHADOW_NODE), 0.0f);
+
+  return self->dy;
+}
+
+float
+gsk_outset_shadow_node_get_spread (GskRenderNode *node)
+{
+  GskOutsetShadowNode *self = (GskOutsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_OUTSET_SHADOW_NODE), 0.0f);
+
+  return self->spread;
+}
+
+float
+gsk_outset_shadow_node_get_blur_radius (GskRenderNode *node)
+{
+  GskOutsetShadowNode *self = (GskOutsetShadowNode *) node;
+
+  g_return_val_if_fail (GSK_IS_RENDER_NODE_TYPE (node, GSK_OUTSET_SHADOW_NODE), 0.0f);
+
+  return self->blur_radius;
+}
+
 /*** GSK_CAIRO_NODE ***/
 
 typedef struct _GskCairoNode GskCairoNode;
index 52f7bc8b46949e923a2df00966e860ba2416fbb7..1a19b5d23bcdb595426309c5cbef4ebc28f8ed4d 100644 (file)
@@ -62,6 +62,20 @@ const GskRoundedRect * gsk_border_node_peek_outline (GskRenderNode *node);
 const float * gsk_border_node_peek_widths (GskRenderNode *node);
 const GdkRGBA * gsk_border_node_peek_colors (GskRenderNode *node);
 
+const GskRoundedRect * gsk_inset_shadow_node_peek_outline (GskRenderNode *node);
+const GdkRGBA * gsk_inset_shadow_node_peek_color (GskRenderNode *node);
+float gsk_inset_shadow_node_get_dx (GskRenderNode *node);
+float gsk_inset_shadow_node_get_dy (GskRenderNode *node);
+float gsk_inset_shadow_node_get_spread (GskRenderNode *node);
+float gsk_inset_shadow_node_get_blur_radius (GskRenderNode *node);
+
+const GskRoundedRect * gsk_outset_shadow_node_peek_outline (GskRenderNode *node);
+const GdkRGBA * gsk_outset_shadow_node_peek_color (GskRenderNode *node);
+float gsk_outset_shadow_node_get_dx (GskRenderNode *node);
+float gsk_outset_shadow_node_get_dy (GskRenderNode *node);
+float gsk_outset_shadow_node_get_spread (GskRenderNode *node);
+float gsk_outset_shadow_node_get_blur_radius (GskRenderNode *node);
+
 GskRenderNode *gsk_cairo_node_new_for_surface (const graphene_rect_t *bounds, cairo_surface_t *surface);
 cairo_surface_t *gsk_cairo_node_get_surface (GskRenderNode *node);